package com.gbk.clickhouseservicestruct.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.myweb.ck.mapping.ChTable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 采集设备
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ChTable(name = "tig.T_TIG_APES")
public class TIG_APES {

    @JSONField(name = "ApeId")
    private String ApeId;//设备ID

    @JSONField(name = "Name")
    private String Name;//名称

    @JSONField(name = "Model")
    private String Model;//型号

    @JSONField(name = "IpAddr")
    private String IpAddr;//IP地址

    @JSONField(name = "Ipv6Addr")
    private String Ipv6Addr;//IPV6地址

    @JSONField(name = "Port")
    private Integer Port;//端口号

    @JSONField(name = "Longitude")
    private Double Longitude;//经度

    @JSONField(name = "Latitude")
    private Double Latitude;//纬度

    @JSONField(name = "PlaceCode")
    private String PlaceCode;//安装地点行政区划代码

    @JSONField(name = "Place")
    private String Place;//位置名

    @JSONField(name = "OrgCode")
    private String OrgCode;//管辖单位代码

    @JSONField(name = "CapDirection")
    private Integer CapDirection;//车辆抓拍方向 0-车头 1-车尾

    @JSONField(name = "MonitorDirection")
    private String MonitorDirection;//监视方向

    @JSONField(name = "MonitorAreaDesc")
    private String MonitorAreaDesc;//监视区域说明

    @JSONField(name = "IsOnline")
    private String IsOnline;//是否在线

    @JSONField(name = "OwnerApsId")
    private String OwnerApsId;//所属采集系统

    @JSONField(name = "UserId")
    private String UserId;//用户账号

    @JSONField(name = "Password")
    private String Password;//口令
    @JSONField(format = "yyyy-MM-dd HH:mm:ss", name = "StorageTime")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date StorageTime;//入库时间

    @JSONField(name = "FunctionType")
    private String FunctionType;//"FunctionType": "2"

    @JSONField(name = "PositionDetailType")
    private String PositionDetailType;//"PositionDetailType": "0"

    @JSONField(name = "PositionType")
    private String PositionType;//"PositionType": "99"


}
